/**
 * 空气报告配置文件
 * 配置内容如下：
 * zh：中文标题内容
 * en：英文标题内容
 * unit：单位
 * min：最小值（仅用作展示）
 * max：最大值（仅用作展示）
 * scope：实际数值的取值范围，格式为最小值/最大值/保留小数位数
 * level：等级
 * color：颜色
 * valueColor：当前值颜色，仅用作综合空气指数水波图
 * showTime：报告页面展示时间，单位为毫秒
 */
let config = {
    // 左侧标题
    title: {
        zh: "罗象部落空气报告",
        en: "AIR REPORT OF TAI HOUSE",
        color: "#FFF"
    },
    // 负氧离子柱状图
    bar_1: {
        zh: "负氧离子含量",
        en: "Negative Oxygen Ion",
        unit: "个/cm³",
        min: 0,
        max: 2000,
        scope: "1500/1700/0",
        level: "清新",
        color: "#3C9FE8"
    },
    // PM2.5柱状图
    bar_2: {
        zh: "PM2.5含量",
        en: "PM2.5",
        unit: "ug/m³",
        min: 0,
        max: 75,
        scope: "8/15/0",
        level: "低",
        color: "#3679FF"
    },
    // 甲醛含量柱状图
    bar_3: {
        zh: "甲醛含量",
        en: "Formaldehyde",
        unit: "mg/m³",
        min: 0,
        max: 0.1,
        scope: "0.005/0.02/3",
        level: "低",
        color: "#22A8FB"
    },
    // 氧气含量柱状图
    bar_4: {
        zh: "氧气含量",
        en: "Oxygen",
        unit: "%",
        min: 0,
        max: 30,
        scope: "21.3/22.5/2",
        level: "高",
        color: "#ABD2BC"
    },
    // 温度检测柱状图
    bar_5: {
        zh: "温度检测",
        en: "Temperature",
        unit: "℃",
        min: 0,
        max: 100,
        scope: "18/24/1",
        level: "舒适",
        color: "#41BF60"
    },
    // 湿度检测柱状图
    bar_6: {
        zh: "湿度检测",
        en: "Humidity",
        unit: "%",
        min: 0,
        max: 100,
        scope: "45/69/1",
        level: "舒适",
        color: "#55EBFF"
    },
    // 综合空气指数水波图
    liquid: {
        zh: "综合空气指数",
        en: "Composite Air Index",
        unit: "%",
        min: 0,
        max: 100,
        scope: "75/80/1",
        level: "疗愈级",
        color: "rgba(39, 201, 251, 0.9)",
        valueColor: "#fff"
    },
    // 其他配置
    other: {
        showTime: 1000 * 10
    }
};

// 执行初始化
init();

// 初始化config，将需要刷新value的对象记录
function init() {
    config.neddRefersh = [config.bar_1, config.bar_2, config.bar_3,
        config.bar_4, config.bar_5, config.bar_6, config.liquid];
}

// 获取config变量，获取时刷新数值
// eslint-disable-next-line no-unused-vars
function getConfig() {
    config.neddRefersh.forEach(element => {
        element.value = getValue(element.scope);
    });
    return config;
}

// 获取数值范围间的随机数
function getValue(scope) {
    let params = scope.split('/');
    let min = params[0] * 1;
    let max = params[1] * 1;
    let fixed = params[2] * 1;
    return ((Math.random() * (max - min)) + min).toFixed(fixed);
}